#内置高阶函数:将函数当作参数代入
#内置高阶函数之map
# list1=[1,2,3,4,5,6,7,8]
#
# def func(x):
#     return x**2
#
# result=map(func,list1)
# print(result)   #输出调用函数后的列表地址
# print(list(result))  #输出调用后的列表

#内置高阶函数之reduce
#reduce：传入的参数必须有2个，每次func计算的结果必须与列表下一数据累积
# import functools
# list1=[1,2,3,4,5]

# def func(a,b):
#     return a*b

# result=functools.reduce(func,list1)
# print(result)
#
# import functools
# list1=[1,2,3,4,5]
#
# def func(a,b):
#     return a+b
#
# result=functools.reduce(func,list1)
# print(result)

#内置高阶函数之filter
# list1=[0,1,2,3,4,5,6,7,8,9]
#
# def func(x):
#     return x%3==0
#
# result=filter(func,list1)
# print(result)
# print(list(result))